﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 资产变更单行AITDTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class FAAlterDocDetailAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public FAAlterDocDetailAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
					LineNum= 0; 
				
		
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.FAAlterAITDTO != null) 
			{
				this.FAAlterAITDTO.DoSerializeKeyList(dict);
			}
	        			if (this.FA_AssetAccountAlterObj!=null)
			{
				foreach(ufida.u9.ait.openapi.FAAssetAccountAlterObjAITDTOData objdata in this.FA_AssetAccountAlterObj)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        	        			if (this.AssetCard != null) 
			{
				this.AssetCard.DoSerializeKeyList(dict);
			}
	        			if (this.FA_AssetTagUseInforAlterObjsList!=null)
			{
				foreach(ufida.u9.ait.openapi.FA_AssetTagUseInforAlterObjAITDTOData objdata in this.FA_AssetTagUseInforAlterObjsList)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        			if (this.FA_AssetTagAlterObjsList!=null)
			{
				foreach(ufida.u9.ait.openapi.FA_AssetTagAlterObjAITDTOData objdata in this.FA_AssetTagAlterObjsList)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
			
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public FAAlterDocDetailAITDTOData(  ufida.u9.ait.openapi.FAAlterAITDTOData fAAlterAITDTO  , List<ufida.u9.ait.openapi.FAAssetAccountAlterObjAITDTOData> fA_AssetAccountAlterObj  , System.Int32 lineNum  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData assetCard  , List<ufida.u9.ait.openapi.FA_AssetTagUseInforAlterObjAITDTOData> fA_AssetTagUseInforAlterObjsList  , List<ufida.u9.ait.openapi.FA_AssetTagAlterObjAITDTOData> fA_AssetTagAlterObjsList  )
		{
			initData();
			this.FAAlterAITDTO = fAAlterAITDTO;
			this.FA_AssetAccountAlterObj = fA_AssetAccountAlterObj;
			this.LineNum = lineNum;
			this.AssetCard = assetCard;
			this.FA_AssetTagUseInforAlterObjsList = fA_AssetTagUseInforAlterObjsList;
			this.FA_AssetTagAlterObjsList = fA_AssetTagAlterObjsList;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 资产变更AITDTO
		/// 资产变更单行AITDTO.Misc.资产变更AITDTO
		/// </summary>
		private ufida.u9.ait.openapi.FAAlterAITDTOData m_fAAlterAITDTO ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.FAAlterAITDTOData FAAlterAITDTO
		{
			get	
			{	
				return m_fAAlterAITDTO ;
			}
			set	
			{	
				m_fAAlterAITDTO = value ;	
			}
		}
			
		

		/// <summary>
		/// 资产财务信息变更数据
		/// 资产变更单行AITDTO.Misc.资产财务信息变更数据
		/// </summary>
		private List<ufida.u9.ait.openapi.FAAssetAccountAlterObjAITDTOData> m_fA_AssetAccountAlterObj ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.FAAssetAccountAlterObjAITDTOData> FA_AssetAccountAlterObj
		{
			get	
			{	
				if (m_fA_AssetAccountAlterObj == null )
				{
					List<ufida.u9.ait.openapi.FAAssetAccountAlterObjAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.FAAssetAccountAlterObjAITDTOData>() ;
					m_fA_AssetAccountAlterObj = n_m_list ;
				}
				return m_fA_AssetAccountAlterObj ;
			}
			set	
			{	
				m_fA_AssetAccountAlterObj = value ;	
			}
		}
			
		

		/// <summary>
		/// 行号
		/// 资产变更单行AITDTO.Misc.行号
		/// </summary>
		private System.Int32 m_lineNum ;
		[DataMember(IsRequired=false)]
		public System.Int32 LineNum
		{
			get	
			{	
				return m_lineNum ;
			}
			set	
			{	
				m_lineNum = value ;	
			}
		}
			
		

		/// <summary>
		/// 资产卡片
		/// 资产变更单行AITDTO.Misc.资产卡片
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_assetCard ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData AssetCard
		{
			get	
			{	
				return m_assetCard ;
			}
			set	
			{	
				m_assetCard = value ;	
			}
		}
			
		

		/// <summary>
		/// 资产实物使用变更数据
		/// 资产变更单行AITDTO.Misc.资产实物使用变更数据
		/// </summary>
		private List<ufida.u9.ait.openapi.FA_AssetTagUseInforAlterObjAITDTOData> m_fA_AssetTagUseInforAlterObjsList ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.FA_AssetTagUseInforAlterObjAITDTOData> FA_AssetTagUseInforAlterObjsList
		{
			get	
			{	
				if (m_fA_AssetTagUseInforAlterObjsList == null )
				{
					List<ufida.u9.ait.openapi.FA_AssetTagUseInforAlterObjAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.FA_AssetTagUseInforAlterObjAITDTOData>() ;
					m_fA_AssetTagUseInforAlterObjsList = n_m_list ;
				}
				return m_fA_AssetTagUseInforAlterObjsList ;
			}
			set	
			{	
				m_fA_AssetTagUseInforAlterObjsList = value ;	
			}
		}
			
		

		/// <summary>
		/// 资产实物变更
		/// 资产变更单行AITDTO.Misc.资产实物变更
		/// </summary>
		private List<ufida.u9.ait.openapi.FA_AssetTagAlterObjAITDTOData> m_fA_AssetTagAlterObjsList ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.FA_AssetTagAlterObjAITDTOData> FA_AssetTagAlterObjsList
		{
			get	
			{	
				if (m_fA_AssetTagAlterObjsList == null )
				{
					List<ufida.u9.ait.openapi.FA_AssetTagAlterObjAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.FA_AssetTagAlterObjAITDTOData>() ;
					m_fA_AssetTagAlterObjsList = n_m_list ;
				}
				return m_fA_AssetTagAlterObjsList ;
			}
			set	
			{	
				m_fA_AssetTagAlterObjsList = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
												
		#endregion 
	} 	
}
